﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C4DevContest
{
    interface IConnect4AI
    {
        /// <summary>
        /// A clone of the current game board is passed in.  The AI should evaluate the board and 
        /// return the number of a column (0 - 6) to drop a piece in.
        /// </summary>
        /// <param name="board">Connect4Board</param>
        /// <returns>int</returns>
        int GetMove(Connect4Board board);

        /// <summary>
        /// A name to call your AI, just for fun :)
        /// </summary>
        /// <returns>string</returns>
        string GetAIName();

        /// <summary>
        /// Retrieves the piece this AI is playing as.  Useful if your AI is going to go 
        /// for the win and needs to know which side to be on.
        /// </summary>
        /// <returns>GamePiece</returns>
        GamePiece GetMyGamePiece();

        /// <summary>
        /// Sets the color piece this AI will be playing as.  This will be called by the framework 
        /// before the game begins.
        /// </summary>
        /// <param name="myPiece">GamePiece</param>
        void SetMyGamePiece(GamePiece myPiece);
    }
}
